"""
AI 模块 - 通用数据模型
"""
from __future__ import annotations
from typing import Optional, List, Dict, Any, Union
from axiom_boot.api.models import ApiModel


class ToolCall(ApiModel):
    """
    模型请求调用工具时的数据结构。
    """
    id: str
    name: str
    args: Dict[str, Any]


class AxiomMessage(ApiModel):
    """
    框架内部统一的、与具体模型无关的消息格式。
    """
    role: str
    content: Union[str, List[Dict[str, Any]]]
    turn: int = 1
    tool_calls: Optional[List[ToolCall]] = None
    tool_call_id: Optional[str] = None 